﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OFB.Domain;

namespace OFB.BLL.Repository
{
    public interface IManageTraineeBLL:IRepository<Trainee>
    {

        ICollection<Trainee> Filter(int index, int size,bool? Status, string traineeId = null, string username = null, string firstName = null, string lastName = null, string university = null, string searchString = null);
        int GetTotalPageSearch(int index, int size, bool? status, string traineeId = null, string username = null, string firstName = null, string lastName = null, string university = null, string searchString = null);
        ICollection<Trainee> GetByTraineeId(string traineeId);
        ICollection<Trainee> GetByPage(int index, int size);
        int GetTotalPage(int index, int size);
        int UpdateTrainee(string traineeId, string cardId, string username, string firstName, string lastName, string university, DateTime birthDate, string email);
        void ChangePassword(string traineeId, string password);
        int Create(string traineeId, string cardId, string username, string password, string firstName, string lastName, string university, DateTime birthDate);
        void DisableTrainee(string traineeId);
        void EnableTrainee(string traineeId);
        int ValidateCardId(string traineeId, string cardId);
        int ValidateAccount(string traineeId, string username);
        
    }
}
